﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.ServiceModel.Channels;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.ClienteWs;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.EventoWs;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.EstabelecimentoWS;

namespace PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.GUI
{
    public partial class CriarEvento : System.Web.UI.Page
    {
        PubClub_Cliente_WS webServiceCliente = new PubClub_Cliente_WS();
        ObjetoCliente cliente = new ObjetoCliente();
        ObjetoRetornoEvento retornoEvento = new ObjetoRetornoEvento();
        ObjetoEvento evento = new ObjetoEvento();
        PubClub_Evento_WS webServiceEvento = new PubClub_Evento_WS();
        PubClub_Estabelecimento_WS webServiceEstabelecimento = new PubClub_Estabelecimento_WS();
        ObjetoEstabelecimento estabelecimento = new ObjetoEstabelecimento();
        int localId;

        protected void Page_Load(object sender, EventArgs e)
        {

            if (Session["Cliente"] == null)
            {
                Response.Redirect("Login.aspx?Logout=3");
            }
            else
            {
                cliente = webServiceCliente.GetCliente(Convert.ToInt32(Session["Cliente"]));
            }           

            BindingList<ObjetoEstabelecimento> listaEstabelecimento = new BindingList<ObjetoEstabelecimento>(webServiceEstabelecimento.ListEstabelecimento());

            if (!Page.IsPostBack)
            {
                foreach (var item in listaEstabelecimento)
                {
                    ListItem itemDaLista = new ListItem();
                    itemDaLista.Value = item.EstabelecimentoId.ToString();
                    itemDaLista.Text = item.NomeFantasia;
                    DropDownListEstabelecimento.Items.Add(itemDaLista);
                }
            }


        }

       
        protected void BtCriarEvento_Click(object sender, EventArgs e)
        {

            try
            {
              Convert.ToDateTime(txbDiaEvento.Text);

            }
            catch (FormatException)
            {

                lbvaviso.Text = "Informe uma data válida.";
                lbvaviso.ForeColor = System.Drawing.Color.Red;
                lbvaviso.Visible = true;
                txbDiaEvento.Focus();
                return;
            }

            if (TextBoxHora.Text.Trim().Equals(""))
            {
                TextBoxHora.Text = "00:00";
            }

            evento.DataHora = Convert.ToDateTime(txbDiaEvento.Text);
           
            string dataFormatada = evento.DataHora.Year + "-" + evento.DataHora.Month + "-" + evento.DataHora.Day +" "+ TextBoxHora.Text + ":00";
            evento.Descricao = txbDescricaoEvento.Text.Trim();
            evento.Titulo = txbNomeEvento.Text.Trim();
            estabelecimento = webServiceEstabelecimento.GetEstabelecimento(Convert.ToInt32(DropDownListEstabelecimento.SelectedValue.ToString()));
            retornoEvento = webServiceEvento.CreateEvento(cliente.ClienteId, evento.FileBinary, evento.FileName, estabelecimento.EstabelecimentoId, evento.Titulo, evento.Descricao, dataFormatada);

            if (retornoEvento.Sucesso == true)
            {
              
                lbvaviso.ForeColor = System.Drawing.Color.Green;
                lbvaviso.Text = "Evento criado com sucesso!";
                lbvaviso.Visible = true;

            }
            else
            {
                lbvaviso.ForeColor = System.Drawing.Color.Red;
                lbvaviso.Text = retornoEvento.Menssagem;
                lbvaviso.Visible = true;
            }

        }
    }
}